If data is received or sent over a wireless data interface, such as over an interface based on the Bluetooth standard for example, it is often the case that said data must also be previously or subsequently transmitted over a line-connected data interface, such as a USB interface (USB—Universal Serial Bus) for example. In general there are two different clock-pulse systems operating within said transmission chain formed by the wireless and the line-connected data interfaces. The clock rate of the wireless data interface is determined by one of at least two radio transceiver devices assigned to the data interface. On the other hand, the clock rate of the line-connected data interface is frequently predetermined by the external clock rate of a data processing device connected over the line-connected data interface to a radio transceiver device. In the case of Bluetooth, the clock rate of the wireless data interface is determined by the clock supply of the Bluetooth-specific BT master (BT=Bluetooth), while the clock rate of the BT slave is synchronized with the clock rate of the BT master by injecting a phase and frequency offset. Analogously, in the case of the line-connected USB interface, the USB-specific USB master determines the clock rate of the USB interface. If a radio transceiver device is connected over a USB interface to, for example, a data processing device, for example a laptop, as USB master the data processing device generally determines the clock rate of the USB interface. If, as in the present case, the clock-pulse systems of the two interfaces are mutually independent, this results in a slightly different data rate or processing speed of the data at the two interfaces, although the nominal data rates are the same. Without special measures, if the data sequence is long enough, this can result in the data sent by the original sender (line-connected or wireless) of such a transmission chain not matching the data received by the final receiver (line-connected or wireless) of such a transmission chain. Either some transmitted data elements are missing, or additional data elements that were not sent are present at the receiver.
In principle it is possible to transmit data via synchronous channels or asynchronous channels over digital wireless data interfaces. In contrast to asynchronous channels, in the case of synchronous channels, fixed time slots are reserved for the transmission. Synchronous channels are therefore used for transmitting time-critical information, such as for voice transmission for example, while asynchronous channels are used for batch-type data traffic. In the Bluetooth standard, synchronous channels are referred to as SCO channels (SCO=synchronous connection-oriented) and asynchronous channels are referred to as ACL channels (ACL=asynchronous connectionless).
In principle the data to be transmitted over a digital wireless data interface can be divided into two categories: the first category comprises the so-called transparent data for the wireless data interface. With transparent data, the components of the wireless data interface have no knowledge of the information content of the data, that is to say from the point of view of the radio components the data is just a non-interpretable string of zeros and ones to be transmitted over the data interface. Transparent data is, for example, the digital data of a WAV file (WAV stands for wave) of a piece of music, where the underlying structure or encoding of a WAV file is not known to the Bluetooth interface.
This is distinct from the non-transparent data from the point of view of the wireless data interface. With such data, the data interface has knowledge of the information content of the data. For example, non-transparent data is special voice-encoded data which is present in an encoding format (μ-law log PCM, A-law log PCM or CVSD) supported by the Bluetooth standard.
During the transmission of data over an asynchronous channel of a wireless data interface and additionally over a line-connected data interface, the asynchronous differential clock pulse of the two clock-pulse systems does not present a problem because the data traffic occurs only in batches. If, on the other hand, a synchronous channel of a wireless data interface is used in such a transmission chain, where the data is transmitted continuously over the transmission chain, transmission errors as described above are inevitable unless suitable compensation measures are taken. Such transmission errors can only be tolerated for unencoded linear data. As a countermeasure, a FIFO ring memory (FIFO=First In First Out) can be used as a data buffer at the interface between a first and an asynchronous second clock-pulse system. Said FIFO ring memory is clocked both by a clock-pulse signal of the clock-pulse system of the wireless data interface and by a clock-pulse signal of the clock-pulse system of the line-connected data interface. The occupancy level, that is to say the number of data elements stored, of such a FIFO ring memory indicates whether too little or too much data has been transmitted as a result of the asynchronous differential clock pulse. Using an appropriate algorithm, the number of data elements in the FIFO ring memory can be increased or decreased by means of interpolation. The disadvantage of such a solution is that the interpolation cannot be performed in a radio transceiver device, i.e. the mobile communications chip, during transmission of transparent data over the wireless data interface, since said device has no knowledge of the information content of the transmitted data. For error-free transmission of transparent data without a corresponding interpolation at the terminal device, it is therefore necessary to prevent two mutually asynchronous clock-pulse systems operating in the transmission chain.